home *** CD-ROM | disk | FTP | other *** search
/ Nebula 2 / Nebula Two.iso / NextAnswers / EOF1.2_PDO4.0_Example / fetch_main.m next >
Text File  |  1996-04-14  |  1KB  |  55 lines

  1.  
  2. #import <EOAccess1x/EOAccess1x.h>
  3.  
  4. void fetch(void);
  5. void usage(void);
  6.  
  7. int main (int argc, const char *argv[])
  8. {
  9.    NSAutoreleasePool * pool = [[NSAutoreleasePool alloc] init];
  10.  
  11.    NS_DURING
  12.  
  13.      fetch();
  14.  
  15.    NS_HANDLER
  16.  
  17.      NSLog(@"%@", [localException reason]);
  18.  
  19.    NS_ENDHANDLER
  20.  
  21.    [pool release];
  22.    exit(0);       // insure the process exit status is 0
  23.    return 0;      // ...and make main fit the ANSI spec.
  24. }
  25.  
  26. void fetch(void)
  27. {
  28.     NSString *modelPath = [[NSUserDefaults standardUserDefaults] stringForKey:@"model"];
  29.     NSString *entityName = [[NSUserDefaults standardUserDefaults] stringForKey:@"entity"];
  30.  
  31.     EODatabaseDataSource *dataSource;
  32.     NSArray *results;
  33.  
  34.     if(!modelPath || ![modelPath length] || !entityName || ![entityName length]) {
  35.       usage();
  36.       return;
  37.     }
  38.  
  39.     dataSource = [[EODatabaseDataSource alloc] initWithModelName:modelPath entityName:entityName databaseName:nil contextName:nil channelName:nil];
  40.  
  41.     if(!dataSource) {
  42.         NSLog(@"Invalid model or entity");
  43.         return;
  44.     }
  45.     
  46.     results = [dataSource fetchObjects];
  47.  
  48.     NSLog(@"Result: %@", results);
  49. }
  50.  
  51. void usage(void)
  52. {
  53.     NSLog(@"Usage: fetch -model <eomodel file> -entity <entity name>");
  54. }
  55.